﻿2026-06-04T17:23:03.4084219Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T17:23:03.4084888Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T17:23:03.4106375Z shell: /usr/bin/bash -e {0}
2026-06-04T17:23:03.4106846Z ##[endgroup]
2026-06-04T17:23:03.4356541Z Requirement quality findings (23); 134 requirements queued for agent review:
2026-06-04T17:23:03.4358901Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4360536Z   [must] requirement_quality REQ-CONSENT-1 criterion=length — title is 41 words; want 3..=25
2026-06-04T17:23:03.4362239Z   [must] requirement_quality REQ-CONSENT-2 criterion=length — title is 37 words; want 3..=25
2026-06-04T17:23:03.4364189Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-04T17:23:03.4366115Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T17:23:03.4368641Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4371117Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4372874Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T17:23:03.4374650Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T17:23:03.4377496Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4380169Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4382625Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T17:23:03.4384335Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T17:23:03.4385633Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T17:23:03.4387011Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T17:23:03.4388983Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4391386Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4393307Z   [must] requirement_quality REQ-PRES-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T17:23:03.4394594Z   [must] requirement_quality REQ-PRES-1 criterion=length — title is 48 words; want 3..=25
2026-06-04T17:23:03.4396036Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T17:23:03.4397307Z   [must] requirement_quality REQ-SHELL-1 criterion=length — title is 36 words; want 3..=25
2026-06-04T17:23:03.4398608Z   [must] requirement_quality REQ-SHELL-2 criterion=length — title is 49 words; want 3..=25
2026-06-04T17:23:03.4400300Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T17:23:03.4400329Z 
2026-06-04T17:23:03.4400838Z # Requirement quality review
2026-06-04T17:23:03.4400858Z 
2026-06-04T17:23:03.4401954Z You are reviewing 134 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T17:23:03.4403048Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T17:23:03.4404142Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T17:23:03.4404916Z this command's output. Your task is the rubric items below.
2026-06-04T17:23:03.4405373Z 
2026-06-04T17:23:03.4405858Z ## Rubric
2026-06-04T17:23:03.4405887Z 
2026-06-04T17:23:03.4407242Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T17:23:03.4408383Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T17:23:03.4409613Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T17:23:03.4410392Z - **active-voice** — clear subject and active verb.
2026-06-04T17:23:03.4410450Z 
2026-06-04T17:23:03.4411599Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T17:23:03.4412075Z clear concerns.
2026-06-04T17:23:03.4412093Z 
2026-06-04T17:23:03.4412553Z ## Requirements
2026-06-04T17:23:03.4412579Z 
2026-06-04T17:23:03.4413025Z ### REQ-ARCH-1
2026-06-04T17:23:03.4413666Z - Title: Many small acyclically-layered crates
2026-06-04T17:23:03.4414146Z - Required stages: impl
2026-06-04T17:23:03.4414166Z 
2026-06-04T17:23:03.4414659Z ### REQ-ARCH-2
2026-06-04T17:23:03.4415545Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T17:23:03.4416040Z - Required stages: impl
2026-06-04T17:23:03.4416060Z 
2026-06-04T17:23:03.4416506Z ### REQ-ARCH-3
2026-06-04T17:23:03.4417573Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T17:23:03.4418107Z - Required stages: impl, unit
2026-06-04T17:23:03.4418130Z 
2026-06-04T17:23:03.4418579Z ### REQ-ARCH-4
2026-06-04T17:23:03.4420045Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T17:23:03.4420695Z - Required stages: impl, unit
2026-06-04T17:23:03.4420719Z 
2026-06-04T17:23:03.4421147Z ### REQ-DAEMON-1
2026-06-04T17:23:03.4421983Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T17:23:03.4422510Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4422539Z 
2026-06-04T17:23:03.4422992Z ### REQ-DAEMON-2
2026-06-04T17:23:03.4423662Z - Title: Broker/brain split for seamless self-update
2026-06-04T17:23:03.4424197Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4424220Z 
2026-06-04T17:23:03.4424666Z ### REQ-DAEMON-3
2026-06-04T17:23:03.4425413Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T17:23:03.4425929Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4425950Z 
2026-06-04T17:23:03.4426388Z ### REQ-DAEMON-4
2026-06-04T17:23:03.4426976Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T17:23:03.4427497Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4427531Z 
2026-06-04T17:23:03.4427949Z ### REQ-STORE-1
2026-06-04T17:23:03.4433911Z - Title: spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)
2026-06-04T17:23:03.4434545Z - Required stages: impl, unit
2026-06-04T17:23:03.4434593Z 
2026-06-04T17:23:03.4435069Z ### REQ-MANIFEST-1
2026-06-04T17:23:03.4444276Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T17:23:03.4444982Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4445006Z 
2026-06-04T17:23:03.4445457Z ### REQ-SEAM-SPAWN
2026-06-04T17:23:03.4445953Z - Title: spawn-session seam
2026-06-04T17:23:03.4446441Z - Required stages: impl, unit
2026-06-04T17:23:03.4446464Z 
2026-06-04T17:23:03.4446922Z ### REQ-SEAM-POSTSPAWN
2026-06-04T17:23:03.4447638Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T17:23:03.4448116Z - Required stages: impl, unit
2026-06-04T17:23:03.4448135Z 
2026-06-04T17:23:03.4448593Z ### REQ-SEAM-PSYCHE
2026-06-04T17:23:03.4449353Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T17:23:03.4449877Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4449896Z 
2026-06-04T17:23:03.4450389Z ### REQ-SEAM-HISTORY
2026-06-04T17:23:03.4451398Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T17:23:03.4452429Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4452452Z 
2026-06-04T17:23:03.4452922Z ### REQ-SEAM-ACTIVITY
2026-06-04T17:23:03.4453839Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T17:23:03.4454346Z - Required stages: impl, unit
2026-06-04T17:23:03.4454368Z 
2026-06-04T17:23:03.4454815Z ### REQ-SEAM-INJECT
2026-06-04T17:23:03.4455625Z - Title: inject-input methods configurable per activity-state
2026-06-04T17:23:03.4456147Z - Required stages: impl, unit
2026-06-04T17:23:03.4456171Z 
2026-06-04T17:23:03.4456615Z ### REQ-SEAM-RESUME
2026-06-04T17:23:03.4457549Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T17:23:03.4458048Z - Required stages: impl, unit
2026-06-04T17:23:03.4458067Z 
2026-06-04T17:23:03.4458546Z ### REQ-SEAM-CAPABILITY
2026-06-04T17:23:03.4459346Z - Title: Hostable endpoint-types capability declaration
2026-06-04T17:23:03.4459855Z - Required stages: impl, unit
2026-06-04T17:23:03.4459891Z 
2026-06-04T17:23:03.4460349Z ### REQ-SEAM-UPDATE
2026-06-04T17:23:03.4461168Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T17:23:03.4461682Z - Required stages: impl, unit
2026-06-04T17:23:03.4461703Z 
2026-06-04T17:23:03.4462128Z ### REQ-API-1
2026-06-04T17:23:03.4462987Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T17:23:03.4463515Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4463535Z 
2026-06-04T17:23:03.4464249Z ### REQ-API-2
2026-06-04T17:23:03.4465362Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T17:23:03.4465903Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4465921Z 
2026-06-04T17:23:03.4466361Z ### REQ-API-3
2026-06-04T17:23:03.4467044Z - Title: commune/signoff are file-drops, not commands
2026-06-04T17:23:03.4467568Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4467592Z 
2026-06-04T17:23:03.4468034Z ### REQ-START-1
2026-06-04T17:23:03.4469041Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T17:23:03.4469812Z - Required stages: impl, unit
2026-06-04T17:23:03.4469837Z 
2026-06-04T17:23:03.4470281Z ### REQ-START-2
2026-06-04T17:23:03.4470948Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T17:23:03.4471467Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4471493Z 
2026-06-04T17:23:03.4471910Z ### REQ-START-3
2026-06-04T17:23:03.4472775Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T17:23:03.4473319Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4473339Z 
2026-06-04T17:23:03.4473761Z ### REQ-START-4
2026-06-04T17:23:03.4474418Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T17:23:03.4474912Z - Required stages: impl, unit
2026-06-04T17:23:03.4474933Z 
2026-06-04T17:23:03.4475347Z ### REQ-EP-1
2026-06-04T17:23:03.4475966Z - Title: Day-one endpoint types; open type system
2026-06-04T17:23:03.4476443Z - Required stages: impl, unit
2026-06-04T17:23:03.4476483Z 
2026-06-04T17:23:03.4476904Z ### REQ-EP-2
2026-06-04T17:23:03.4477708Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T17:23:03.4478196Z - Required stages: impl, unit
2026-06-04T17:23:03.4478220Z 
2026-06-04T17:23:03.4478623Z ### REQ-EP-3
2026-06-04T17:23:03.4479804Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T17:23:03.4480356Z - Required stages: impl, unit
2026-06-04T17:23:03.4480377Z 
2026-06-04T17:23:03.4480796Z ### REQ-EP-4
2026-06-04T17:23:03.4481539Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T17:23:03.4482026Z - Required stages: impl, unit
2026-06-04T17:23:03.4482046Z 
2026-06-04T17:23:03.4482475Z ### REQ-EP-5
2026-06-04T17:23:03.4486498Z - Title: Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope
2026-06-04T17:23:03.4487305Z - Required stages: impl, unit
2026-06-04T17:23:03.4487327Z 
2026-06-04T17:23:03.4487763Z ### REQ-INST-1
2026-06-04T17:23:03.4488542Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T17:23:03.4489002Z - Required stages: 
2026-06-04T17:23:03.4489020Z 
2026-06-04T17:23:03.4489516Z ### REQ-INST-2
2026-06-04T17:23:03.4490084Z - Title: Per-node files, synced Psyche mind
2026-06-04T17:23:03.4490599Z - Required stages: impl, unit
2026-06-04T17:23:03.4490617Z 
2026-06-04T17:23:03.4491068Z ### REQ-INST-3
2026-06-04T17:23:03.4491808Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T17:23:03.4492336Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4492355Z 
2026-06-04T17:23:03.4492784Z ### REQ-INST-4
2026-06-04T17:23:03.4493671Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T17:23:03.4494172Z - Required stages: impl, unit
2026-06-04T17:23:03.4494192Z 
2026-06-04T17:23:03.4494622Z ### REQ-INST-5
2026-06-04T17:23:03.4495523Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T17:23:03.4496029Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4496052Z 
2026-06-04T17:23:03.4496508Z ### REQ-INST-6
2026-06-04T17:23:03.4497450Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T17:23:03.4497919Z - Required stages: 
2026-06-04T17:23:03.4497937Z 
2026-06-04T17:23:03.4498380Z ### REQ-INST-7
2026-06-04T17:23:03.4499037Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T17:23:03.4500227Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4500257Z 
2026-06-04T17:23:03.4500671Z ### REQ-INST-8
2026-06-04T17:23:03.4501402Z - Title: Remote-control mode distinct from local operation
2026-06-04T17:23:03.4501904Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4501940Z 
2026-06-04T17:23:03.4502366Z ### REQ-INST-9
2026-06-04T17:23:03.4503301Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T17:23:03.4503799Z - Required stages: impl, unit
2026-06-04T17:23:03.4503836Z 
2026-06-04T17:23:03.4504273Z ### REQ-INST-10
2026-06-04T17:23:03.4505335Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T17:23:03.4505836Z - Required stages: impl, unit
2026-06-04T17:23:03.4505854Z 
2026-06-04T17:23:03.4506286Z ### REQ-INST-11
2026-06-04T17:23:03.4507352Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T17:23:03.4507865Z - Required stages: impl, unit
2026-06-04T17:23:03.4507907Z 
2026-06-04T17:23:03.4508344Z ### REQ-INST-12
2026-06-04T17:23:03.4510339Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T17:23:03.4510926Z - Required stages: impl, unit
2026-06-04T17:23:03.4510962Z 
2026-06-04T17:23:03.4511406Z ### REQ-INST-13
2026-06-04T17:23:03.4512317Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T17:23:03.4512810Z - Required stages: impl, unit
2026-06-04T17:23:03.4512853Z 
2026-06-04T17:23:03.4513306Z ### REQ-INST-14
2026-06-04T17:23:03.4515332Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T17:23:03.4515845Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4515867Z 
2026-06-04T17:23:03.4516294Z ### REQ-INST-15
2026-06-04T17:23:03.4520739Z - Title: Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)
2026-06-04T17:23:03.4521315Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4521334Z 
2026-06-04T17:23:03.4521756Z ### REQ-REACH-1
2026-06-04T17:23:03.4522440Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T17:23:03.4522977Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4522998Z 
2026-06-04T17:23:03.4523745Z ### REQ-REACH-2
2026-06-04T17:23:03.4524493Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T17:23:03.4524952Z - Required stages: 
2026-06-04T17:23:03.4524972Z 
2026-06-04T17:23:03.4525386Z ### REQ-MSG-1
2026-06-04T17:23:03.4527898Z - Title: Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)
2026-06-04T17:23:03.4528421Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4528469Z 
2026-06-04T17:23:03.4528885Z ### REQ-MSG-2
2026-06-04T17:23:03.4530682Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T17:23:03.4531329Z - Required stages: impl, unit
2026-06-04T17:23:03.4531351Z 
2026-06-04T17:23:03.4531775Z ### REQ-MSG-3
2026-06-04T17:23:03.4533864Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T17:23:03.4534402Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4534421Z 
2026-06-04T17:23:03.4534891Z ### REQ-NODE-IDENTITY
2026-06-04T17:23:03.4536060Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T17:23:03.4536571Z - Required stages: impl, unit
2026-06-04T17:23:03.4536591Z 
2026-06-04T17:23:03.4537016Z ### REQ-NET-1
2026-06-04T17:23:03.4537916Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T17:23:03.4538429Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4538739Z 
2026-06-04T17:23:03.4539265Z ### REQ-NET-2
2026-06-04T17:23:03.4540481Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T17:23:03.4540938Z - Required stages: impl
2026-06-04T17:23:03.4540975Z 
2026-06-04T17:23:03.4541384Z ### REQ-NET-3
2026-06-04T17:23:03.4542216Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T17:23:03.4542714Z - Required stages: impl, unit
2026-06-04T17:23:03.4542735Z 
2026-06-04T17:23:03.4543196Z ### REQ-PAIR-1
2026-06-04T17:23:03.4543702Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T17:23:03.4544226Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4544249Z 
2026-06-04T17:23:03.4544739Z ### REQ-PAIR-2
2026-06-04T17:23:03.4545429Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T17:23:03.4545924Z - Required stages: impl, unit
2026-06-04T17:23:03.4545944Z 
2026-06-04T17:23:03.4546371Z ### REQ-PAIR-3
2026-06-04T17:23:03.4547069Z - Title: Fetch current pairing code from any paired node
2026-06-04T17:23:03.4547600Z - Required stages: impl, unit
2026-06-04T17:23:03.4547623Z 
2026-06-04T17:23:03.4548069Z ### REQ-PAIR-4
2026-06-04T17:23:03.4548596Z - Title: Subnet naming on first pairing
2026-06-04T17:23:03.4549080Z - Required stages: impl, unit
2026-06-04T17:23:03.4549107Z 
2026-06-04T17:23:03.4549914Z ### REQ-PAIR-5
2026-06-04T17:23:03.4551526Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T17:23:03.4552070Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4552092Z 
2026-06-04T17:23:03.4552520Z ### REQ-PAIR-6
2026-06-04T17:23:03.4553897Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T17:23:03.4554433Z - Required stages: impl, unit
2026-06-04T17:23:03.4554458Z 
2026-06-04T17:23:03.4554896Z ### REQ-PAIR-7
2026-06-04T17:23:03.4555668Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T17:23:03.4556148Z - Required stages: 
2026-06-04T17:23:03.4556168Z 
2026-06-04T17:23:03.4556584Z ### REQ-SEC-1
2026-06-04T17:23:03.4558755Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T17:23:03.4559510Z - Required stages: impl, unit
2026-06-04T17:23:03.4559561Z 
2026-06-04T17:23:03.4560212Z ### REQ-NOTIF-1
2026-06-04T17:23:03.4562356Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T17:23:03.4563254Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4563287Z 
2026-06-04T17:23:03.4563786Z ### REQ-NOTIF-2
2026-06-04T17:23:03.4565367Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T17:23:03.4566019Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4566045Z 
2026-06-04T17:23:03.4566566Z ### REQ-UPD-1
2026-06-04T17:23:03.4567181Z - Title: Peer-propagated update over P2P
2026-06-04T17:23:03.4567820Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4567852Z 
2026-06-04T17:23:03.4568315Z ### REQ-UPD-2
2026-06-04T17:23:03.4569634Z - Title: All binaries signature-verified before handoff
2026-06-04T17:23:03.4570232Z - Required stages: impl, unit
2026-06-04T17:23:03.4570257Z 
2026-06-04T17:23:03.4570721Z ### REQ-UPD-3
2026-06-04T17:23:03.4571651Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T17:23:03.4572226Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4572274Z 
2026-06-04T17:23:03.4572718Z ### REQ-UPD-4
2026-06-04T17:23:03.4573720Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T17:23:03.4574266Z - Required stages: impl, unit
2026-06-04T17:23:03.4574295Z 
2026-06-04T17:23:03.4574731Z ### REQ-UPD-5
2026-06-04T17:23:03.4575471Z - Title: spt-core ripple-updates registered adapters
2026-06-04T17:23:03.4576017Z - Required stages: impl, unit
2026-06-04T17:23:03.4576042Z 
2026-06-04T17:23:03.4576970Z ### REQ-TERM-1
2026-06-04T17:23:03.4577930Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T17:23:03.4578504Z - Required stages: impl, unit
2026-06-04T17:23:03.4578536Z 
2026-06-04T17:23:03.4579015Z ### REQ-TERM-2
2026-06-04T17:23:03.4580223Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T17:23:03.4580804Z - Required stages: impl, unit
2026-06-04T17:23:03.4580831Z 
2026-06-04T17:23:03.4581284Z ### REQ-TERM-3
2026-06-04T17:23:03.4582000Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T17:23:03.4582498Z - Required stages: impl, unit
2026-06-04T17:23:03.4582516Z 
2026-06-04T17:23:03.4583208Z ### REQ-TERM-4
2026-06-04T17:23:03.4585295Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T17:23:03.4585846Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4585866Z 
2026-06-04T17:23:03.4586511Z ### REQ-FRONT-1
2026-06-04T17:23:03.4587485Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T17:23:03.4587977Z - Required stages: 
2026-06-04T17:23:03.4588003Z 
2026-06-04T17:23:03.4588477Z ### REQ-INSTALL-1
2026-06-04T17:23:03.4589742Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T17:23:03.4590217Z - Required stages: 
2026-06-04T17:23:03.4590242Z 
2026-06-04T17:23:03.4590696Z ### REQ-INSTALL-2
2026-06-04T17:23:03.4591353Z - Title: Marketplace-repackaging-friendly install
2026-06-04T17:23:03.4591838Z - Required stages: 
2026-06-04T17:23:03.4591862Z 
2026-06-04T17:23:03.4592292Z ### REQ-INSTALL-3
2026-06-04T17:23:03.4592965Z - Title: Idempotent + interactive-optional first run
2026-06-04T17:23:03.4593413Z - Required stages: 
2026-06-04T17:23:03.4593433Z 
2026-06-04T17:23:03.4593855Z ### REQ-INSTALL-4
2026-06-04T17:23:03.4597527Z - Title: Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over
2026-06-04T17:23:03.4598088Z - Required stages: impl, unit
2026-06-04T17:23:03.4598113Z 
2026-06-04T17:23:03.4598543Z ### REQ-MIGRATE-1
2026-06-04T17:23:03.4599618Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T17:23:03.4600250Z - Required stages: 
2026-06-04T17:23:03.4600273Z 
2026-06-04T17:23:03.4600719Z ### REQ-INFRA-1
2026-06-04T17:23:03.4601607Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T17:23:03.4602470Z - Required stages: 
2026-06-04T17:23:03.4602492Z 
2026-06-04T17:23:03.4602921Z ### REQ-DOCS-1
2026-06-04T17:23:03.4603915Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T17:23:03.4604381Z - Required stages: 
2026-06-04T17:23:03.4604402Z 
2026-06-04T17:23:03.4604819Z ### REQ-DOCS-2
2026-06-04T17:23:03.4605617Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T17:23:03.4606122Z - Required stages: 
2026-06-04T17:23:03.4606141Z 
2026-06-04T17:23:03.4606556Z ### REQ-DOCS-3
2026-06-04T17:23:03.4607527Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T17:23:03.4607974Z - Required stages: 
2026-06-04T17:23:03.4607993Z 
2026-06-04T17:23:03.4608417Z ### REQ-DOCS-4
2026-06-04T17:23:03.4609646Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T17:23:03.4610258Z - Required stages: 
2026-06-04T17:23:03.4610280Z 
2026-06-04T17:23:03.4610731Z ### REQ-DOCS-5
2026-06-04T17:23:03.4611694Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T17:23:03.4612145Z - Required stages: 
2026-06-04T17:23:03.4612171Z 
2026-06-04T17:23:03.4612685Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T17:23:03.4613606Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T17:23:03.4614097Z - Required stages: impl, unit
2026-06-04T17:23:03.4614121Z 
2026-06-04T17:23:03.4614621Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T17:23:03.4615664Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T17:23:03.4616148Z - Required stages: impl, unit
2026-06-04T17:23:03.4616182Z 
2026-06-04T17:23:03.4616663Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T17:23:03.4617300Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T17:23:03.4617755Z - Required stages: 
2026-06-04T17:23:03.4617778Z 
2026-06-04T17:23:03.4618269Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T17:23:03.4619212Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T17:23:03.4619957Z - Required stages: impl, unit
2026-06-04T17:23:03.4619986Z 
2026-06-04T17:23:03.4627001Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T17:23:03.4628202Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T17:23:03.4628714Z - Required stages: impl, unit
2026-06-04T17:23:03.4628736Z 
2026-06-04T17:23:03.4629374Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T17:23:03.4630503Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T17:23:03.4631002Z - Required stages: 
2026-06-04T17:23:03.4631025Z 
2026-06-04T17:23:03.4631528Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T17:23:03.4632146Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T17:23:03.4632594Z - Required stages: 
2026-06-04T17:23:03.4632614Z 
2026-06-04T17:23:03.4633127Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T17:23:03.4633938Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T17:23:03.4634442Z - Required stages: impl, unit
2026-06-04T17:23:03.4634462Z 
2026-06-04T17:23:03.4634930Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T17:23:03.4635637Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T17:23:03.4636104Z - Required stages: impl, int
2026-06-04T17:23:03.4636124Z 
2026-06-04T17:23:03.4636632Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T17:23:03.4637449Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T17:23:03.4651920Z - Required stages: impl, unit
2026-06-04T17:23:03.4652075Z 
2026-06-04T17:23:03.4652628Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T17:23:03.4653459Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T17:23:03.4653952Z - Required stages: impl, unit
2026-06-04T17:23:03.4653970Z 
2026-06-04T17:23:03.4654500Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T17:23:03.4655438Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T17:23:03.4655930Z - Required stages: impl, unit
2026-06-04T17:23:03.4656477Z 
2026-06-04T17:23:03.4657051Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T17:23:03.4657827Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T17:23:03.4658322Z - Required stages: impl, unit
2026-06-04T17:23:03.4658343Z 
2026-06-04T17:23:03.4658859Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T17:23:03.4660131Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T17:23:03.4660636Z - Required stages: impl, unit
2026-06-04T17:23:03.4660672Z 
2026-06-04T17:23:03.4661215Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T17:23:03.4662323Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T17:23:03.4662817Z - Required stages: impl, unit
2026-06-04T17:23:03.4662838Z 
2026-06-04T17:23:03.4663307Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T17:23:03.4664597Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T17:23:03.4665108Z - Required stages: impl, unit
2026-06-04T17:23:03.4665143Z 
2026-06-04T17:23:03.4665681Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T17:23:03.4666640Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T17:23:03.4667135Z - Required stages: impl, unit
2026-06-04T17:23:03.4667157Z 
2026-06-04T17:23:03.4667666Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T17:23:03.4669004Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T17:23:03.4670233Z - Required stages: impl, unit
2026-06-04T17:23:03.4670257Z 
2026-06-04T17:23:03.4670776Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T17:23:03.4672815Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T17:23:03.4673327Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4673344Z 
2026-06-04T17:23:03.4673868Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T17:23:03.4676029Z - Title: Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)
2026-06-04T17:23:03.4676544Z - Required stages: impl, unit
2026-06-04T17:23:03.4676562Z 
2026-06-04T17:23:03.4677090Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T17:23:03.4677678Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T17:23:03.4678156Z - Required stages: impl, unit
2026-06-04T17:23:03.4678177Z 
2026-06-04T17:23:03.4678670Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T17:23:03.4679455Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T17:23:03.4680104Z - Required stages: impl, unit
2026-06-04T17:23:03.4680126Z 
2026-06-04T17:23:03.4680647Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T17:23:03.4681455Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T17:23:03.4681984Z - Required stages: impl, unit
2026-06-04T17:23:03.4682001Z 
2026-06-04T17:23:03.4682478Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T17:23:03.4683317Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T17:23:03.4683844Z - Required stages: impl, unit
2026-06-04T17:23:03.4683862Z 
2026-06-04T17:23:03.4684393Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T17:23:03.4685141Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T17:23:03.4685631Z - Required stages: impl, unit
2026-06-04T17:23:03.4685650Z 
2026-06-04T17:23:03.4686183Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T17:23:03.4687006Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T17:23:03.4687587Z - Required stages: impl, unit
2026-06-04T17:23:03.4687611Z 
2026-06-04T17:23:03.4688173Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T17:23:03.4689143Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T17:23:03.4689739Z - Required stages: impl, unit
2026-06-04T17:23:03.4689763Z 
2026-06-04T17:23:03.4690293Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T17:23:03.4691349Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T17:23:03.4692148Z - Required stages: impl, unit
2026-06-04T17:23:03.4692192Z 
2026-06-04T17:23:03.4692710Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T17:23:03.4693592Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T17:23:03.4694107Z - Required stages: impl, unit
2026-06-04T17:23:03.4694129Z 
2026-06-04T17:23:03.4694709Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T17:23:03.4695441Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T17:23:03.4695968Z - Required stages: impl, unit
2026-06-04T17:23:03.4695989Z 
2026-06-04T17:23:03.4696566Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T17:23:03.4697743Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T17:23:03.4698291Z - Required stages: impl, unit
2026-06-04T17:23:03.4698315Z 
2026-06-04T17:23:03.4698887Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-04T17:23:03.4702444Z - Title: A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)
2026-06-04T17:23:03.4703046Z - Required stages: impl, unit
2026-06-04T17:23:03.4703071Z 
2026-06-04T17:23:03.4703553Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T17:23:03.4704700Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T17:23:03.4705211Z - Required stages: impl, unit
2026-06-04T17:23:03.4705244Z 
2026-06-04T17:23:03.4705735Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T17:23:03.4707126Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T17:23:03.4707633Z - Required stages: impl, unit
2026-06-04T17:23:03.4707650Z 
2026-06-04T17:23:03.4708177Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T17:23:03.4709971Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T17:23:03.4710521Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4710556Z 
2026-06-04T17:23:03.4711063Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T17:23:03.4712452Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T17:23:03.4712966Z - Required stages: impl, unit
2026-06-04T17:23:03.4712992Z 
2026-06-04T17:23:03.4713540Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T17:23:03.4715951Z - Title: Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)
2026-06-04T17:23:03.4716493Z - Required stages: impl, unit, int
2026-06-04T17:23:03.4716511Z 
2026-06-04T17:23:03.4717042Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T17:23:03.4721878Z - Title: Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)
2026-06-04T17:23:03.4722430Z - Required stages: impl, unit
2026-06-04T17:23:03.4722473Z 
2026-06-04T17:23:03.4723018Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T17:23:03.4726851Z - Title: Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)
2026-06-04T17:23:03.4727317Z - Required stages: 
2026-06-04T17:23:03.4727334Z 
2026-06-04T17:23:03.4727841Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T17:23:03.4731428Z - Title: Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)
2026-06-04T17:23:03.4731936Z - Required stages: impl, unit
2026-06-04T17:23:03.4731955Z 
2026-06-04T17:23:03.4732467Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T17:23:03.4735578Z - Title: Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)
2026-06-04T17:23:03.4736427Z - Required stages: impl, unit
2026-06-04T17:23:03.4736444Z 
2026-06-04T17:23:03.4736959Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T17:23:03.4742031Z - Title: Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)
2026-06-04T17:23:03.4742596Z - Required stages: impl, unit
2026-06-04T17:23:03.4742614Z 
2026-06-04T17:23:03.4743113Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T17:23:03.4747389Z - Title: WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)
2026-06-04T17:23:03.4747955Z - Required stages: doc, impl, unit
2026-06-04T17:23:03.4747973Z 
2026-06-04T17:23:03.4748411Z ### REQ-CONSENT-1
2026-06-04T17:23:03.4754241Z - Title: Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)
2026-06-04T17:23:03.4755069Z - Required stages: impl, unit
2026-06-04T17:23:03.4755088Z 
2026-06-04T17:23:03.4755527Z ### REQ-CONSENT-2
2026-06-04T17:23:03.4760846Z - Title: Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)
2026-06-04T17:23:03.4761391Z - Required stages: impl, unit
2026-06-04T17:23:03.4761408Z 
2026-06-04T17:23:03.4761831Z ### REQ-PRES-1
2026-06-04T17:23:03.4769561Z - Title: Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)
2026-06-04T17:23:03.4770091Z - Required stages: 
2026-06-04T17:23:03.4770110Z 
2026-06-04T17:23:03.4770541Z ### REQ-SHELL-1
2026-06-04T17:23:03.4776026Z - Title: Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)
2026-06-04T17:23:03.4776561Z - Required stages: impl, unit
2026-06-04T17:23:03.4776579Z 
2026-06-04T17:23:03.4777010Z ### REQ-SHELL-2
2026-06-04T17:23:03.4785391Z - Title: Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)
2026-06-04T17:23:03.4785924Z - Required stages: 
2026-06-04T17:23:03.4785945Z 
2026-06-04T17:23:03.4786373Z ## How to report back
2026-06-04T17:23:03.4786390Z 
2026-06-04T17:23:03.4787238Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T17:23:03.4787256Z 
2026-06-04T17:23:03.4787994Z     {
2026-06-04T17:23:03.4788479Z       "code": "requirement_quality",
2026-06-04T17:23:03.4788969Z       "requirementId": "REQ-...",
2026-06-04T17:23:03.4790192Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T17:23:03.4790694Z       "message": "<short reason>",
2026-06-04T17:23:03.4791255Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T17:23:03.4791662Z     }
2026-06-04T17:23:03.4791681Z 
2026-06-04T17:23:03.4792646Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T17:23:03.4793394Z deterministic findings above don't need to be repeated.
